package web;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import service.ProdutoService;
import service.VendaService;
import to.QtdaVendaProduto;
import util.UtilMensagem;
import entity.Produto;

@Controller
@Scope("request")
public class AdministracaoMB extends BaseManagedBean implements Serializable {

	private static final long serialVersionUID = 2980992478110115218L;

	@Autowired
	private ProdutoService produtoService;

	@Autowired
	private VendaService vendaService;

	private int qtdaProduto;

	private int qtdaMarcas;

	private int qtdaGrupos;

	private String msgItensVendidos;

	private List<Produto> listaProdutoAbaixoEstoque;

	public List<Produto> getListaProdutoAbaixoEstoque() {
		return listaProdutoAbaixoEstoque;
	}

	public AdministracaoMB() {
	}

	@PostConstruct
	public void postConstruct() {
		iniciar();
	}

	private void iniciar() {
		qtdaProduto = produtoService.buscarQuantidadeProdutosAtivos();
		qtdaMarcas = produtoService.buscarQuantidadeMarcasAtivos();
		qtdaGrupos = produtoService.buscarQuantidadeGruposAtivos();

		final QtdaVendaProduto qtdaVendaProduto = vendaService
				.buscarQuantidadeVendasNoDia();

		if (qtdaVendaProduto.getQtdaVenda() > 0) {

			msgItensVendidos = String.format(
					UtilMensagem.getMensagem("MSG_0033"),
					qtdaVendaProduto.getQtdaProduto(),
					qtdaVendaProduto.getQtdaVenda());

		} else{
			msgItensVendidos = UtilMensagem.getMensagem("MSG_0035");
		}

		listaProdutoAbaixoEstoque = produtoService
				.buscarProdutosComEstoqueAbaixoLimiteMinino();
	}

	public String getMsgItensVendidos() {
		return msgItensVendidos;
	}

	public int getQtdaProduto() {
		return qtdaProduto;
	}

	public int getQtdaMarcas() {
		return qtdaMarcas;
	}

	public int getQtdaGrupos() {
		return qtdaGrupos;
	}

}
